﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace AdbService
{
    /// <summary>
    /// ADB命令服务接口
    /// </summary>
    public interface IAdbCommandService
    {
        /// <summary>
        /// ADB命令执行完成事件
        /// </summary>
        event AdbCommandEventHandler CommandExecuted;

        /// <summary>
        /// ADB命令执行错误事件
        /// </summary>
        event AdbCommandEventHandler CommandError;

        /// <summary>
        /// 执行ADB命令（同步）
        /// </summary>
        string ExecuteAdbCommand(string command, string operationName = "");

        /// <summary>
        /// 执行ADB命令（异步）
        /// </summary>
        Task<string> ExecuteAdbCommandAsync(string command, string operationName = "");

        /// <summary>
        /// 设置ADB工作目录
        /// </summary>
        void SetWorkingDirectory(string directory);

        /// <summary>
        /// 获取ADB工作目录
        /// </summary>
        string GetWorkingDirectory();
    }
}
